/**
 * 管理后台认证相关API
 */
import request from '@/utils/request';

/**
 * 管理员登录
 * @param {Object} data 登录数据
 * @returns {Promise} 登录请求
 */
export const adminLogin = (data) => {
    return request.post('/api/admin/login', data);
};

/**
 * 管理员验证码登录
 * @param {Object} data 登录数据
 * @returns {Promise} 登录请求
 */
export const adminLoginByCode = (data) => {
    return request.post('/api/admin/login/code', data);
};

/**
 * 发送管理员登录验证码
 * @param {Object} data 发送验证码请求数据
 * @returns {Promise} 发送验证码请求
 */
export const sendLoginCode = (data) => {
    return request.post('/api/admin/send-login-code', data);
};

/**
 * 发送管理员重置密码验证码
 * @param {Object} data 发送验证码请求数据
 * @returns {Promise} 发送验证码请求
 */
export const sendResetCode = (data) => {
    return request.post('/api/admin/send-reset-code', data);
};

/**
 * 管理员重置密码
 * @param {Object} data 重置密码数据
 * @returns {Promise} 重置密码请求
 */
export const resetPassword = (data) => {
    return request.post('/api/admin/reset-password', data);
};

/**
 * 检查是否已有管理员账号
 * @returns {Promise} 检查请求
 */
export const checkAdminExists = () => {
    return request.get('/api/admin/check-admin-exists');
};

/**
 * 系统初始化
 * @param {Object} data 初始化数据
 * @returns {Promise} 初始化请求
 */
export const initSystem = (data) => {
    return request.post('/api/admin/init', data);
};

/**
 * 获取当前管理员信息
 * @returns {Promise} 当前管理员信息
 */
export const getAdminInfo = () => {
    return request.get('/api/admin/info');
};

/**
 * 退出登录
 * @returns {Promise} 退出登录请求
 */
export const logout = () => {
    return request.post('/api/admin/logout');
};

export default {
    adminLogin,
    adminLoginByCode,
    sendLoginCode,
    sendResetCode,
    resetPassword,
    checkAdminExists,
    initSystem,
    getAdminInfo,
    logout
}; 